this._viewSelector.addSearchProvider(provider);
},
+ removeSearchProvider: function(provider) {
+ this._viewSelector.removeSearchProvider(provider);
+ },
+
setMessage: function(text, undoCallback, undoLabel) {
if (this.isDummy)
return;
this._providers.push(provider);
},
+ unregisterProvider: function (provider) {
+ let index = this._providers.indexOf(provider);
+ if (index == -1)
+ return;
+ provider.searchSystem = null;
+ this._providers.splice(index, 1);
+ },
+
getProviders: function() {
return this._providers;
},
}
resultDisplayBin.set_child(resultDisplay.actor);
- this._providerMeta.push({ actor: providerBox,
+ this._providerMeta.push({ provider: provider,
+ actor: providerBox,
resultDisplay: resultDisplay });
this._content.add(providerBox);
},
+ destroyProviderMeta: function(provider) {
+ for (let i=0; i < this._providerMeta.length; i++) {
+ let meta = this._providerMeta[i];
+ if (meta.provider == provider) {
+ meta.actor.destroy();
+ this._providerMeta.splice(i, 1);
+ break;
+ }
+ }
+ },
+
_clearDisplay: function() {
this._selectedProvider = -1;
this._visibleResultsCount = 0;
this._searchResults.createProviderMeta(provider);
},
+ removeSearchProvider: function(provider) {
+ this._searchSystem.unregisterProvider(provider);
+ this._searchResults.destroyProviderMeta(provider);
+ },
+
startSearch: function(event) {
global.stage.set_key_focus(this._text);
this._text.event(event, false);
addSearchProvider: function(provider) {
this._searchTab.addSearchProvider(provider);
+ },
+
+ removeSearchProvider: function(provider) {
+ this._searchTab.removeSearchProvider(provider);
}
};
Signals.addSignalMethods(ViewSelector.prototype);